package org.water.sys.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.water.base.service.BaseService;
import org.water.sys.entity.SysUserRole;
/**
 * 用户关联角色
 * @author qzy
 *
 */
import org.water.sys.repository.UserRoleDao;
@Service
public class UserRoleService extends BaseService<SysUserRole,String> {

	@Autowired
	private UserRoleDao userRoleDao;
	
	/**
	 * 查询用户关联的角色
	 * @param userId
	 * @return
	 */
	public List<SysUserRole> findByUserId(String userId)
	{
		return userRoleDao.findByUserId(userId);
	}
	/**
	 * 查询角色关联的用户
	 * @param userId
	 * @return
	 */
	public List<SysUserRole> findByRoleId(String roleId)
	{
		return userRoleDao.findByRoleId(roleId);
	}
	
	/**
	 * 根据用户删除
	 * @param userId
	 * @return
	 */
	public Long deleteByUserId(String userId)
	{
		return userRoleDao.deleteByUserId(userId);
	}
	/**
	 * 根据角色删除
	 * @param userId
	 * @return
	 */
	public Long deleteByRoleId(String roleId)
	{
		return userRoleDao.deleteByRoleId(roleId);
	}
	/**
	 * 根据用户角色删除
	 * @param userId
	 * @return
	 */
	public Long deleteByUserIdAndRoleId(String userId,String roleId)
	{
		return userRoleDao.deleteByUserIdAndRoleId(userId,roleId);
	}
	
	/**
	 * 保存用户关联角色
	 * @param groupRoles
	 */
	public void saveUserRoles(String userId,List<SysUserRole> userRoles)
	{
		userRoleDao.deleteByUserId(userId);
		userRoleDao.saveAll(userRoles);
	}
}
